#include <iostream>
#include <functional>
// 6
int add(int a, int b, int c)
{
    return a + b + c;
}

int main()
{
    // 重新定义函数调用方式：
    std::function<int(int, int)> f = std::bind(add, std::placeholders::_1, std::placeholders::_2, 0); // 第三个参数不要，传0
    int count = 100; // 也可以自定义第三个参数
    // std::function<int(int, int)> f = std::bind(add, std::placeholders::_1, std::placeholders::_2, count); 
    std::function<int(int,int)> f = [count](int a,int b)  // 绑定器能做到的,lambda都能做到
    {
        return add(a,b,count);
    };
    std::cout << f(1, 2) << std::endl;
    return 0;
}
